It is envisaged that services and applications will migrate to a cloud-computing paradigm where thin-clients on user-devices access, over a packet switched network, applications hosted in data centers by application service providers. Examples include Software as a Service (SaaS) applications, cloud-based gaming applications and cloud-supported virtual desktops. For good performance and efficiency, it is desirable to deliver these services from certain locations, which are dependent on a current set of users. Typically, this set of users is continually changing; hence such locations are likewise dynamic in their nature.
To accommodate the need to deliver cloud-based services from a dynamically changing group of locations, we expect that services will be hosted on virtual machines in interconnected data centers and that these virtual machines will migrate dynamically to locations best-suited for the current user population. However, typical VM migration techniques currently only support migration in the same local area network (LAN). This is because the VM needs to maintain the same Internet Protocol (IP) address in order to avoid service interruption and, according to current fixed line network architecture, each IP address belongs to a subnet, which is associated with a single LAN.
A solution to migrate a VM across a wide-area network by using dynamic DNS and tunneling has been proposed in a paper entitled “Live Wide-Area Migration of Virtual Machines including Local Persistent State” by Bradford et al. in the proceedings of ACM/Usenix International Conference On Virtual Execution Environments, 2007. According to that approach, a VM is assigned a new IP address at a target location. During a transition period in which the IP address assignment takes place, the VM maintains both old and new IP addresses. Data packets going to the old address are forwarded from the old hosting machine to the new hosting machine via an IP tunnel. However, a limitation of this approach is that the duration of the transition period can be indefinite because it depends on multiple factors including the nature of services running on the VM and the client-side IP address caching behavior of those services. Hence, a forwarding agent of the VM may need to run indefinitely at the old hosting machine. This approach may also require VM software modification, since typical VM migration procedures are based on the IP address of the VM remaining unchanged.
Therefore, in view of the foregoing, it would be desirable to have a better way to migrate virtual machines across a packet switching network without losing service continuity.